package com.example;

import org.junit.Test;

import java.util.Calendar;
import java.util.Date;

public class DateTest {

    @Test
    public void test01() {
        // 1.创建当前系统时间
        Date date = new Date();
        System.out.println(date);
        // 2.创建指定时间
        // 数字叫做 时间戳，是距离世界标准时间1970年1月1日0时0分0秒的毫秒数
        date = new Date(1000 * 60 * 60 * 24);
        // 0代表北京时间1970年1月1日早上8点，世界标准时间是1970年1月1日 0时
        System.out.println(date);
        // 3.24小时前的时间对象
        // 先获取此刻的时间戳
        date = new Date();
        // 往前推一天
        date = new Date(date.getTime() - 24 * 60 * 60 * 1000);
        System.out.println(date);
        // 4.指定具体时间,3924 - 2024 = 1900, 10 - 9 =1
        // year=当前年-1900，month=当前月-1
        // 已经弃用的方法
        date = new Date(124, 9, 24,
                12, 30, 30);
        System.out.println(date);
    }

    @Test
    public void test02() {
        /* 通过静态方法获取当前时间 */
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime()); // 转换Date对象
        calendar.set(Calendar.YEAR, 2023); // 在此刻基础上修改年
        calendar.set(Calendar.MONTH, 5); // 6月
        System.out.println(calendar.getTime());
        // 指定时间
        calendar.set(2023, 6, 25,
                17, 30, 23);
        System.out.println(calendar.getTime());
        System.out.println(calendar.getTimeInMillis()); // 获取时间戳
        calendar = Calendar.getInstance();
        // 往后推5个月
        calendar.add(Calendar.MONTH, 5);
        System.out.println(calendar.getTime());
        calendar = Calendar.getInstance();
        // 往后推300天
        calendar.add(Calendar.DATE, 300);
        System.out.println(calendar.getTime());
    }
}
